package com.czmh.etc.onlinepubsys.request.ue;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.czmh.etc.common.core.utils.Sequence;
import com.czmh.etc.onlinepubsys.entity.mingchuang.ApplyInfo;
import com.czmh.etc.onlinepubsys.request.mingchuang.ApplyExtInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * Copyright (C), 2017-2021
 *
 * @Author: Chenzj
 * Date: 2021-07-13
 * FileName: SaveAccountInfoRequest
 * Description:
 */
@ApiModel("联合电子-4-2-1 用户实名认证-对接请求对象")
@Data
public class SaveAccountInfoRequest {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = "用户 ID", required = false)
    @JSONField(serialize = false)
    private String userId; //用户ID

    @ApiModelProperty(notes = "用户 ID，自营必填，机构及主机厂可不填", required = false)
    private Long userid;

    @ApiModelProperty(notes = "机构必传", required = false)
    private String appkey = "appKey";

    @ApiModelProperty(notes = "用户手机号码，机构及主机厂必填", required = false)
    private String mobilephone;

    @ApiModelProperty(notes = "客户名称", required = false)
    private String organ;

    @ApiModelProperty(notes = "证件类型", required = false)
    private String idtype;

    @ApiModelProperty(notes = "证件号码", required = false)
    private String idnum;

    @ApiModelProperty(notes = "用户类型-参考附件", required = false)
    private String user_type;

    @ApiModelProperty(notes = "经办人 单位用户需传入,参考附件证件类型", required = false)
    private String agent_man;

    @ApiModelProperty(notes = "经办人证件类型 单位用户需传入, 参考附件证件类型", required = false)
    private String agent_idtype;

    @ApiModelProperty(notes = "经办人证件号码 单位用户需传入, 参考附件证件类型", required = false)
    private String agent_idnum;

    @ApiModelProperty(notes = "经办人（本人）手机 单位用户需传入,参考附件证件类型", required = false)
    private String agent_mobile;

    @ApiModelProperty(notes = "联系电话 单位用户需传入,参考附件证件类型", required = false)
    private String tel;

    @ApiModelProperty(notes = "注册资金 单位用户需传入,参考附件证件类型", required = false)
    private String registered_capital;

    @ApiModelProperty(notes = "联系地址 个人：身份证地址 单位：经营场所", required = false)
    private String address;

    @ApiModelProperty(notes = "邮政编码", required = false)
    private String zip_code;

    @ApiModelProperty(notes = "电子邮箱", required = false)
    private String email;

    @ApiModelProperty(notes = "授权委托书图片", required = false)
    private String grant_picurl;

    @ApiModelProperty(notes = "委托人有效证明 1", required = false)
    private String client_picurl1;

    @ApiModelProperty(notes = "委托人有效证明 2", required = false)
    private String client_picurl2;

    @ApiModelProperty(notes = "备用 1", required = false)
    private String spare1;

    @ApiModelProperty(notes = "备用 2", required = false)
    private String spare2;

    @ApiModelProperty(notes = "备用 3", required = false)
    private String spare3;

    @ApiModelProperty(notes = "订单 ID", required = false)
    private String order_id;

    @ApiModelProperty(notes = "综合服务平台的客户号", required = false)
    private String userno;

    @ApiModelProperty(notes = "用户证件正面图片url 个人用户必填", required = false)
    private String idcard_pic_url1;

    @ApiModelProperty(notes = "用户证件反面图片url 个人用户必填", required = false)
    private String idcard_pic_url2;

    @ApiModelProperty(notes = "企业证件正面图片url 单位用户必填", required = false)
    private String company_idcard_pic_url1;

    @ApiModelProperty(notes = "企业证件反面图片url 单位用户必填", required = false)
    private String company_idcard_pic_url2;

    @ApiModelProperty(notes = "请求渠道 参考附件请求渠道", required = false)
    private String reqfrom = "74";

    @ApiModelProperty(notes = "身份证起始时间 Yyyymmdd，身份证必填", required = false)
    private String trx_id_stime;

    @ApiModelProperty(notes = "身份证结束时间 Yyyymmdd，身份证必填", required = false)
    private String trx_id_etime;

    @ApiModelProperty(notes = "单位用户纳税人识别号 user_type != 8 ,该字段必填", required = false)
    private String invo_tax_num;

    @ApiModelProperty(notes = "单位用户单位开户行 user_type != 8 ,该字段必填", required = false)
    private String unit_bank;

    @ApiModelProperty(notes = "单位用户单位开户行地址 user_type != 8 ,该字段必填", required = false)
    private String unit_bank_addr;

    @ApiModelProperty(notes = "单位用户单位开户行账号 user_type != 8 ,该字段必填", required = false)
    private String unit_bank_account;

    @ApiModelProperty(notes = "经办人姓名 user_type = 2 ,该字段必填", required = false)
    private String agent_name;

    @ApiModelProperty(notes = "经办人证件正面图片url user_type = 2 ,该字段必填", required = false)
    private String agent_idcard_pic_url1;

    @ApiModelProperty(notes = "经办人证件反面图片url user_type = 2 ,该字段必填", required = false)
    private String agent_idcard_pic_url2;

    @ApiModelProperty(notes = "附加信息请求参数")
    private ApplyExtInfo applyExtInfo;//用于存放额外的信息，例如阿里云图片

    public static ApplyInfo convert(SaveAccountInfoRequest req){
        ApplyInfo applyInfo = new ApplyInfo();
        return applyInfo;
    }
}
